package com.woniuxy.certified.service;

import com.woniuxy.certified.dao.CertifiedAccount;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.certified.model.dto.CertifiedAccountDto;
import com.woniuxy.certified.model.dto.CertifiedAccountInfoDto;
import com.woniuxy.certified.model.param.*;
import com.woniuxy.core.util.PageInfo;

import javax.servlet.http.HttpServletResponse;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 凌玉春
 * @since 2024年01月15日
 */
public interface CertifiedAccountService extends IService<CertifiedAccount> {

    CertifiedAccountDto login(LoginParam param, HttpServletResponse response) throws Exception;

    CertifiedAccountDto RegisterAccount(RegisterParam param);

    void bannedAccount(BannedAccountParam param);

    void enableAccount(BannedAccountParam param);

    void updatePassword(UpdatePasswordParam param);

    void setSuperAdmin(String id, Integer accountId);

    void setNormalAdmin(String id, Integer accountId);

    CertifiedAccountInfoDto getAccountInformation(String id);

    PageInfo<CertifiedAccountInfoDto> loadAllAccount(LoadAllAccountParam param, String id);

    void certifiedAccountService(DeleteAccountParam param);

    CertifiedAccount updatecertifiedstate(String id);
}
